package com.geekhalo.user.app.basic;

import com.geekhalo.lego.core.query.QueryApplicationServiceDefinition;
import com.geekhalo.lego.core.singlequery.Page;
import com.geekhalo.user.app.basic.query.PageByStatus;
import com.geekhalo.user.domain.basic.BasicUserQueryRepository;
import com.geekhalo.user.domain.basic.BasicUserView;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;

@QueryApplicationServiceDefinition(
        repositoryClass = BasicUserQueryRepository.class,
        masterDataClass = BasicUserView.class
)
@Validated
public interface BasicUserQueryApplication {

    Page<BasicUserView> pageOf(@Valid PageByStatus query);
}
